package com.example.zzh.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 功能描述
 *
 * @author: ZhangZhenHao
 * @date: 2023年08月14日 18:36
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ZzhProductInfo", description="产品详情+产品库存+产品价格")
public class ZzhProductInfo {
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "产品类型id")
    private Long categoryId;

    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "制造商")
    private String mfrs;

    @ApiModelProperty(value = "型号")
    private String model;

    @ApiModelProperty(value = "规格")
    private String standard;

    @ApiModelProperty(value = "颜色")
    private String color;

    @ApiModelProperty(value = "单位-单个")
    private String unit;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "图片名称")
    private String imgName;

    @ApiModelProperty(value = "计量单位Id")
    private Long unitId;

    @ApiModelProperty(value = "保质期天数")
    private Integer expiryNum;

    @ApiModelProperty(value = "基础重量(kg)")
    private BigDecimal weight;

    @ApiModelProperty(value = "仓位货架")
    private String position;

    @ApiModelProperty(value = "0删除，1启用，2禁用")
    private Integer status;

    @ApiModelProperty(value = "商品条码")
    private String barCode;

    @ApiModelProperty(value = "商品单位")
    private String commodityUnit;

    @ApiModelProperty(value = "多属性")
    private String sku;

    @ApiModelProperty(value = "采购价格")
    private BigDecimal purchaseDecimal;

    @ApiModelProperty(value = "销售价格")
    private BigDecimal wholesaleDecimal;

    @ApiModelProperty(value = "最低售价")
    private BigDecimal lowDecimal;

    @ApiModelProperty(value = "是否为默认单位，1是，0否")
    private String defaultFlag;

    @ApiModelProperty(value = "创建日期")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "创建人编码")
    private String createSerial;

    @ApiModelProperty(value = "更新日期")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "更新人编码")
    private String updateSerial;

    @ApiModelProperty(value = "仓库id")
    private Long depotId;

    @ApiModelProperty(value = "当前库存数量")
    private BigDecimal currentNumber;

    @ApiModelProperty(value = "最低安全库存数量")
    private BigDecimal lowNumber;

    @ApiModelProperty(value = "最高安全库存数量")
    private BigDecimal highNumber;

    @ApiModelProperty(value = "商品库存列表")
    private List<ZzhProductStock> zzhProductStocks;
}
